{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 我不是药神，我是数据分析师OpenDataTools"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "近日，由徐峥主演的影片《我不是药神》在全国热议，获得影迷广泛好评。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们都不是药神，但我们都可以救人。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们都不是专家，但都可以用简单易用的OpenDataTools分析一下这部影片的票房走势。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第一步 数据准备\n",
    "\n",
    "opendatatools的movie模块，提供对电影票房数据的查询。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入movie模块\n",
    "from opendatatools import movie"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### API 介绍\n",
    "get_recent_boxoffice ：获取最近7日的电影票房数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:17: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:18: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:19: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:20: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:21: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:23: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
      "d:\\QuantosTerminal\\python\\lib\\site-packages\\ipykernel_launcher.py:26: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n"
     ]
    }
   ],
   "source": [
    "# 获取近7天的票房数据\n",
    "import pandas as pd\n",
    "import datetime\n",
    "\n",
    "df_list = []\n",
    "for i in range(1,7):\n",
    "    df, msg = movie.get_recent_boxoffice(i)\n",
    "    df_list.append(df)\n",
    "\n",
    "df_recent = pd.concat(df_list)\n",
    "\n",
    "# 获取《我不是药神》这部影片的票房数据\n",
    "df_recent = df_recent[df_recent.MovieName == '我不是药神']\n",
    "\n",
    "# 选取需要处理的字段\n",
    "df_data = df_recent[['AvgPrice', 'BoxOffice', 'SumBoxOffice', 'date']]\n",
    "df_data['AvgPrice']     = df_data['AvgPrice'].apply(lambda x: int(x))\n",
    "df_data['BoxOffice']    = df_data['BoxOffice'].apply(lambda x: int(x))\n",
    "df_data['BoxOffice2']    = df_data['BoxOffice'].apply(lambda x: x / 10000)\n",
    "df_data['SumBoxOffice'] = df_data['SumBoxOffice'].apply(lambda x: int(x))\n",
    "df_data['SumBoxOffice2'] = df_data['SumBoxOffice'].apply(lambda x : x / 10000)\n",
    "\n",
    "df_data['date']         = df_data['date'].apply(lambda x: datetime.datetime.strptime(x, '%Y-%m-%d'))\n",
    "\n",
    "# 按照日期顺序排列\n",
    "df_data.sort_values('date', ascending=True, inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第二步 数据可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa10fa90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from matplotlib.pylab import mpl\n",
    "# 指定默认字体\n",
    "mpl.rcParams['font.sans-serif'] = ['FangSong'] \n",
    "# 解决保存图像是负号'-'显示为方块的问题\n",
    "mpl.rcParams['axes.unicode_minus'] = False \n",
    "\n",
    "fig = plt.figure(figsize=(12,6))\n",
    "\n",
    "# 画柱状图\n",
    "ax1 = fig.add_subplot(1,1,1)\n",
    "ax1.plot(list(df_data['date']), list(df_data['BoxOffice2']), label='日票房')\n",
    "ax1.plot(list(df_data['date']), list(df_data['SumBoxOffice2']), label='总票房')\n",
    "ax1.legend(loc='upper left')\n",
    "ax1.set_xlabel('date')\n",
    "ax1.set_ylabel('BoxOffice')\n",
    "\n",
    "# 画折线图\n",
    "ax2 = ax1.twinx()\n",
    "ax2.plot(list(df_data['date']), list(df_data['AvgPrice']), label='场均价', color='red')\n",
    "ax2.legend(loc='upper right')\n",
    "ax2.set_ylabel('场均票价')\n",
    "ax2.set_ylim(0, 60)\n",
    "\n",
    "# 标识标题及坐标轴信息\n",
    "plt.title('我不是药神票房纪录')\n",
    "\n",
    "# 显示画图结果\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 点评 ####\n",
    "\n",
    "1. 票房增长很快，上市短短几日，就揽入13亿多票房\n",
    "\n",
    "2. 7月8日的票房已经比7月7日开始下降（两天刚好是周末），说明已接近增长高峰。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三步 后续票房预测"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### API 介绍\n",
    "\n",
    "+ get_yearly_boxoffice  : 获取年度票房数据\n",
    "+ get_monthly_boxoffice ：获取本月票房数据\n",
    "+ get_boxoffice_rank    ：获取总票房排行榜"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>audience</th>\n",
       "      <th>avgprice</th>\n",
       "      <th>boxoffice</th>\n",
       "      <th>country</th>\n",
       "      <th>movie_name</th>\n",
       "      <th>movie_type</th>\n",
       "      <th>showtime</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>33</td>\n",
       "      <td>39</td>\n",
       "      <td>364774</td>\n",
       "      <td>中国香港/中国</td>\n",
       "      <td>1.红海行动</td>\n",
       "      <td>动作</td>\n",
       "      <td>2018-02-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>39</td>\n",
       "      <td>39</td>\n",
       "      <td>339666</td>\n",
       "      <td>中国</td>\n",
       "      <td>2.唐人街探案2</td>\n",
       "      <td>喜剧</td>\n",
       "      <td>2018-02-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>19</td>\n",
       "      <td>38</td>\n",
       "      <td>239035</td>\n",
       "      <td>美国</td>\n",
       "      <td>3.复仇者联盟3：无限战争</td>\n",
       "      <td>动作</td>\n",
       "      <td>2018-05-11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>44</td>\n",
       "      <td>38</td>\n",
       "      <td>223666</td>\n",
       "      <td>中国香港/中国</td>\n",
       "      <td>4.捉妖记2</td>\n",
       "      <td>喜剧</td>\n",
       "      <td>2018-02-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>27</td>\n",
       "      <td>35</td>\n",
       "      <td>164544</td>\n",
       "      <td>中国</td>\n",
       "      <td>5.前任3：再见前任</td>\n",
       "      <td>喜剧</td>\n",
       "      <td>2017-12-29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20</td>\n",
       "      <td>36</td>\n",
       "      <td>163005</td>\n",
       "      <td>美国</td>\n",
       "      <td>6.侏罗纪世界2</td>\n",
       "      <td>动作</td>\n",
       "      <td>2018-06-15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>18</td>\n",
       "      <td>36</td>\n",
       "      <td>139546</td>\n",
       "      <td>美国</td>\n",
       "      <td>7.头号玩家</td>\n",
       "      <td>科幻</td>\n",
       "      <td>2018-03-30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>40</td>\n",
       "      <td>36</td>\n",
       "      <td>139114</td>\n",
       "      <td>中国</td>\n",
       "      <td>8.我不是药神</td>\n",
       "      <td>剧情</td>\n",
       "      <td>2018-07-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>21</td>\n",
       "      <td>34</td>\n",
       "      <td>136095</td>\n",
       "      <td>中国</td>\n",
       "      <td>9.后来的我们</td>\n",
       "      <td>爱情</td>\n",
       "      <td>2018-04-28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>13</td>\n",
       "      <td>35</td>\n",
       "      <td>100324</td>\n",
       "      <td>美国</td>\n",
       "      <td>10.狂暴巨兽</td>\n",
       "      <td>动作</td>\n",
       "      <td>2018-04-13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>12</td>\n",
       "      <td>33</td>\n",
       "      <td>89954</td>\n",
       "      <td>中国</td>\n",
       "      <td>11.超时空同居</td>\n",
       "      <td>奇幻</td>\n",
       "      <td>2018-05-18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>18</td>\n",
       "      <td>31</td>\n",
       "      <td>75395</td>\n",
       "      <td>中国</td>\n",
       "      <td>12.无问西东</td>\n",
       "      <td>爱情</td>\n",
       "      <td>2018-01-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>17</td>\n",
       "      <td>30</td>\n",
       "      <td>74676</td>\n",
       "      <td>印度</td>\n",
       "      <td>13.神秘巨星</td>\n",
       "      <td>剧情</td>\n",
       "      <td>2018-01-19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>33</td>\n",
       "      <td>40</td>\n",
       "      <td>72721</td>\n",
       "      <td>中国香港/中国</td>\n",
       "      <td>14.西游记女儿国</td>\n",
       "      <td>喜剧</td>\n",
       "      <td>2018-02-16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>17</td>\n",
       "      <td>36</td>\n",
       "      <td>66227</td>\n",
       "      <td>美国</td>\n",
       "      <td>15.黑豹</td>\n",
       "      <td>动作</td>\n",
       "      <td>2018-03-09</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   audience avgprice boxoffice  country     movie_name movie_type    showtime\n",
       "0        33       39    364774  中国香港/中国         1.红海行动         动作  2018-02-16\n",
       "1        39       39    339666       中国       2.唐人街探案2         喜剧  2018-02-16\n",
       "2        19       38    239035       美国  3.复仇者联盟3：无限战争         动作  2018-05-11\n",
       "3        44       38    223666  中国香港/中国         4.捉妖记2         喜剧  2018-02-16\n",
       "4        27       35    164544       中国     5.前任3：再见前任         喜剧  2017-12-29\n",
       "5        20       36    163005       美国       6.侏罗纪世界2         动作  2018-06-15\n",
       "6        18       36    139546       美国         7.头号玩家         科幻  2018-03-30\n",
       "7        40       36    139114       中国        8.我不是药神         剧情  2018-07-05\n",
       "8        21       34    136095       中国        9.后来的我们         爱情  2018-04-28\n",
       "9        13       35    100324       美国        10.狂暴巨兽         动作  2018-04-13\n",
       "10       12       33     89954       中国       11.超时空同居         奇幻  2018-05-18\n",
       "11       18       31     75395       中国        12.无问西东         爱情  2018-01-12\n",
       "12       17       30     74676       印度        13.神秘巨星         剧情  2018-01-19\n",
       "13       33       40     72721  中国香港/中国      14.西游记女儿国         喜剧  2018-02-16\n",
       "14       17       36     66227       美国          15.黑豹         动作  2018-03-09"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 2018年电影市场格局\n",
    "df, msg = movie.get_yearly_boxoffice(2018)\n",
    "df.head(15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>BoxOffice</th>\n",
       "      <th>Irank</th>\n",
       "      <th>MovieImg</th>\n",
       "      <th>MovieName</th>\n",
       "      <th>boxPer</th>\n",
       "      <th>mId</th>\n",
       "      <th>movieDay</th>\n",
       "      <th>sumBoxOffice</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7455.64</td>\n",
       "      <td>1</td>\n",
       "      <td>242167.jpg</td>\n",
       "      <td>我不是药神</td>\n",
       "      <td>83.81</td>\n",
       "      <td>676313</td>\n",
       "      <td>5</td>\n",
       "      <td>140378.53</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>474.59</td>\n",
       "      <td>2</td>\n",
       "      <td>240989.jpg</td>\n",
       "      <td>动物世界</td>\n",
       "      <td>5.34</td>\n",
       "      <td>660959</td>\n",
       "      <td>11</td>\n",
       "      <td>43165.15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>400.72</td>\n",
       "      <td>3</td>\n",
       "      <td>256244.jpg</td>\n",
       "      <td>新大头儿子和小头爸爸3：俄罗斯奇遇记</td>\n",
       "      <td>4.50</td>\n",
       "      <td>672751</td>\n",
       "      <td>4</td>\n",
       "      <td>7397.29</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>291.79</td>\n",
       "      <td>4</td>\n",
       "      <td>225759.jpg</td>\n",
       "      <td>侏罗纪世界2</td>\n",
       "      <td>3.28</td>\n",
       "      <td>667168</td>\n",
       "      <td>25</td>\n",
       "      <td>163057.63</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>185.81</td>\n",
       "      <td>5</td>\n",
       "      <td>223686.jpg</td>\n",
       "      <td>超人总动员2</td>\n",
       "      <td>2.09</td>\n",
       "      <td>678021</td>\n",
       "      <td>18</td>\n",
       "      <td>31996.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>18.05</td>\n",
       "      <td>6</td>\n",
       "      <td>237446.jpg</td>\n",
       "      <td>金蝉脱壳2</td>\n",
       "      <td>0.20</td>\n",
       "      <td>678409</td>\n",
       "      <td>11</td>\n",
       "      <td>8888.44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>17.61</td>\n",
       "      <td>7</td>\n",
       "      <td>235583.jpg</td>\n",
       "      <td>幸福马上来</td>\n",
       "      <td>0.20</td>\n",
       "      <td>652546</td>\n",
       "      <td>32</td>\n",
       "      <td>8751.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>12.45</td>\n",
       "      <td>8</td>\n",
       "      <td>10053.jpg</td>\n",
       "      <td>阿飞正传</td>\n",
       "      <td>0.14</td>\n",
       "      <td>1889</td>\n",
       "      <td>15</td>\n",
       "      <td>1750.67</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9.55</td>\n",
       "      <td>9</td>\n",
       "      <td>234987.jpg</td>\n",
       "      <td>猛虫过江</td>\n",
       "      <td>0.11</td>\n",
       "      <td>653845</td>\n",
       "      <td>25</td>\n",
       "      <td>20049.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>6.27</td>\n",
       "      <td>10</td>\n",
       "      <td>217497.jpg</td>\n",
       "      <td>复仇者联盟3：无限战争</td>\n",
       "      <td>0.07</td>\n",
       "      <td>675789</td>\n",
       "      <td>60</td>\n",
       "      <td>239035.83</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  BoxOffice Irank    MovieImg           MovieName boxPer     mId movieDay  \\\n",
       "0   7455.64     1  242167.jpg               我不是药神  83.81  676313        5   \n",
       "1    474.59     2  240989.jpg                动物世界   5.34  660959       11   \n",
       "2    400.72     3  256244.jpg  新大头儿子和小头爸爸3：俄罗斯奇遇记   4.50  672751        4   \n",
       "3    291.79     4  225759.jpg              侏罗纪世界2   3.28  667168       25   \n",
       "4    185.81     5  223686.jpg              超人总动员2   2.09  678021       18   \n",
       "5     18.05     6  237446.jpg               金蝉脱壳2   0.20  678409       11   \n",
       "6     17.61     7  235583.jpg               幸福马上来   0.20  652546       32   \n",
       "7     12.45     8   10053.jpg                阿飞正传   0.14    1889       15   \n",
       "8      9.55     9  234987.jpg                猛虫过江   0.11  653845       25   \n",
       "9      6.27    10  217497.jpg         复仇者联盟3：无限战争   0.07  675789       60   \n",
       "\n",
       "  sumBoxOffice  \n",
       "0    140378.53  \n",
       "1     43165.15  \n",
       "2      7397.29  \n",
       "3    163057.63  \n",
       "4     31996.98  \n",
       "5      8888.44  \n",
       "6      8751.26  \n",
       "7      1750.67  \n",
       "8     20049.51  \n",
       "9    239035.83  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 今日最新票房信息\n",
    "df, msg = movie.get_realtime_boxoffice()\n",
    "df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 点评\n",
    "\n",
    "2018年的高票房电影中，《我不是药神》已经排在了第8，按照目前的势头，超过20亿还是有很大机会。未来几天的走势至关重要。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第四步 这算不误正业吗？\n",
    "\n",
    "其实还真不是，有些用户误解了。\n",
    "\n",
    "电影票房数据与影视类上市公司的股票价格有着巨大的相关性。\n",
    "\n",
    "以《我不是药神》为例，虽然只过去了几天，但其票房数据与相关股票股价却有着极强的相关性。\n",
    "\n",
    "这部影片的制作方\"北京文化\"是一家上市公司，股票代码是000802.SZ。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "###  API介绍\n",
    "\n",
    "+ stock模块是opendatatools工具的股票模块，\n",
    "+ get_daily可以获取股票的日线数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>change</th>\n",
       "      <th>high</th>\n",
       "      <th>last</th>\n",
       "      <th>low</th>\n",
       "      <th>open</th>\n",
       "      <th>percent</th>\n",
       "      <th>symbol</th>\n",
       "      <th>time</th>\n",
       "      <th>turnover_rate</th>\n",
       "      <th>volume</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-0.06</td>\n",
       "      <td>10.45</td>\n",
       "      <td>10.45</td>\n",
       "      <td>10.22</td>\n",
       "      <td>10.45</td>\n",
       "      <td>-0.57</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-15</td>\n",
       "      <td>0.56</td>\n",
       "      <td>3002700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.98</td>\n",
       "      <td>10.31</td>\n",
       "      <td>9.47</td>\n",
       "      <td>9.41</td>\n",
       "      <td>10.31</td>\n",
       "      <td>-9.38</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-19</td>\n",
       "      <td>1.70</td>\n",
       "      <td>6974340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-0.03</td>\n",
       "      <td>9.45</td>\n",
       "      <td>9.44</td>\n",
       "      <td>9.02</td>\n",
       "      <td>9.45</td>\n",
       "      <td>-0.32</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-20</td>\n",
       "      <td>0.85</td>\n",
       "      <td>3758893</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-0.13</td>\n",
       "      <td>9.42</td>\n",
       "      <td>9.31</td>\n",
       "      <td>9.15</td>\n",
       "      <td>9.34</td>\n",
       "      <td>-1.38</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-21</td>\n",
       "      <td>0.60</td>\n",
       "      <td>2455814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.20</td>\n",
       "      <td>9.55</td>\n",
       "      <td>9.51</td>\n",
       "      <td>9.18</td>\n",
       "      <td>9.22</td>\n",
       "      <td>2.15</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-22</td>\n",
       "      <td>0.81</td>\n",
       "      <td>3146615</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.17</td>\n",
       "      <td>9.94</td>\n",
       "      <td>9.68</td>\n",
       "      <td>9.53</td>\n",
       "      <td>9.53</td>\n",
       "      <td>1.79</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-25</td>\n",
       "      <td>0.69</td>\n",
       "      <td>2704998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.23</td>\n",
       "      <td>9.92</td>\n",
       "      <td>9.91</td>\n",
       "      <td>9.50</td>\n",
       "      <td>9.54</td>\n",
       "      <td>2.38</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-26</td>\n",
       "      <td>0.69</td>\n",
       "      <td>2701543</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.33</td>\n",
       "      <td>10.27</td>\n",
       "      <td>10.24</td>\n",
       "      <td>9.85</td>\n",
       "      <td>9.90</td>\n",
       "      <td>3.33</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-27</td>\n",
       "      <td>1.06</td>\n",
       "      <td>4243090</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.12</td>\n",
       "      <td>10.50</td>\n",
       "      <td>10.36</td>\n",
       "      <td>10.15</td>\n",
       "      <td>10.20</td>\n",
       "      <td>1.17</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-28</td>\n",
       "      <td>1.50</td>\n",
       "      <td>5840102</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.08</td>\n",
       "      <td>10.50</td>\n",
       "      <td>10.44</td>\n",
       "      <td>10.31</td>\n",
       "      <td>10.45</td>\n",
       "      <td>0.77</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-06-29</td>\n",
       "      <td>1.21</td>\n",
       "      <td>4724675</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.58</td>\n",
       "      <td>11.48</td>\n",
       "      <td>11.02</td>\n",
       "      <td>10.50</td>\n",
       "      <td>11.48</td>\n",
       "      <td>5.56</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-02</td>\n",
       "      <td>6.90</td>\n",
       "      <td>26757146</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>1.10</td>\n",
       "      <td>12.12</td>\n",
       "      <td>12.12</td>\n",
       "      <td>11.05</td>\n",
       "      <td>11.05</td>\n",
       "      <td>9.98</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-03</td>\n",
       "      <td>5.49</td>\n",
       "      <td>21155285</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>1.21</td>\n",
       "      <td>13.33</td>\n",
       "      <td>13.33</td>\n",
       "      <td>13.00</td>\n",
       "      <td>13.33</td>\n",
       "      <td>9.98</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-04</td>\n",
       "      <td>4.62</td>\n",
       "      <td>17814362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>1.19</td>\n",
       "      <td>14.66</td>\n",
       "      <td>14.52</td>\n",
       "      <td>13.91</td>\n",
       "      <td>14.39</td>\n",
       "      <td>8.93</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-05</td>\n",
       "      <td>18.13</td>\n",
       "      <td>70258916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>1.45</td>\n",
       "      <td>15.97</td>\n",
       "      <td>15.97</td>\n",
       "      <td>14.14</td>\n",
       "      <td>14.39</td>\n",
       "      <td>9.99</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-06</td>\n",
       "      <td>15.82</td>\n",
       "      <td>61055073</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>-0.77</td>\n",
       "      <td>17.18</td>\n",
       "      <td>15.20</td>\n",
       "      <td>14.80</td>\n",
       "      <td>17.18</td>\n",
       "      <td>-4.82</td>\n",
       "      <td>000802.SZ</td>\n",
       "      <td>2018-07-09</td>\n",
       "      <td>22.76</td>\n",
       "      <td>90277182</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    change   high   last    low   open  percent     symbol       time  \\\n",
       "0    -0.06  10.45  10.45  10.22  10.45    -0.57  000802.SZ 2018-06-15   \n",
       "1    -0.98  10.31   9.47   9.41  10.31    -9.38  000802.SZ 2018-06-19   \n",
       "2    -0.03   9.45   9.44   9.02   9.45    -0.32  000802.SZ 2018-06-20   \n",
       "3    -0.13   9.42   9.31   9.15   9.34    -1.38  000802.SZ 2018-06-21   \n",
       "4     0.20   9.55   9.51   9.18   9.22     2.15  000802.SZ 2018-06-22   \n",
       "5     0.17   9.94   9.68   9.53   9.53     1.79  000802.SZ 2018-06-25   \n",
       "6     0.23   9.92   9.91   9.50   9.54     2.38  000802.SZ 2018-06-26   \n",
       "7     0.33  10.27  10.24   9.85   9.90     3.33  000802.SZ 2018-06-27   \n",
       "8     0.12  10.50  10.36  10.15  10.20     1.17  000802.SZ 2018-06-28   \n",
       "9     0.08  10.50  10.44  10.31  10.45     0.77  000802.SZ 2018-06-29   \n",
       "10    0.58  11.48  11.02  10.50  11.48     5.56  000802.SZ 2018-07-02   \n",
       "11    1.10  12.12  12.12  11.05  11.05     9.98  000802.SZ 2018-07-03   \n",
       "12    1.21  13.33  13.33  13.00  13.33     9.98  000802.SZ 2018-07-04   \n",
       "13    1.19  14.66  14.52  13.91  14.39     8.93  000802.SZ 2018-07-05   \n",
       "14    1.45  15.97  15.97  14.14  14.39     9.99  000802.SZ 2018-07-06   \n",
       "15   -0.77  17.18  15.20  14.80  17.18    -4.82  000802.SZ 2018-07-09   \n",
       "\n",
       "    turnover_rate    volume  \n",
       "0            0.56   3002700  \n",
       "1            1.70   6974340  \n",
       "2            0.85   3758893  \n",
       "3            0.60   2455814  \n",
       "4            0.81   3146615  \n",
       "5            0.69   2704998  \n",
       "6            0.69   2701543  \n",
       "7            1.06   4243090  \n",
       "8            1.50   5840102  \n",
       "9            1.21   4724675  \n",
       "10           6.90  26757146  \n",
       "11           5.49  21155285  \n",
       "12           4.62  17814362  \n",
       "13          18.13  70258916  \n",
       "14          15.82  61055073  \n",
       "15          22.76  90277182  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 获取北京文化股价\n",
    "from opendatatools import stock\n",
    "df_stock, msg = stock.get_daily('000802.SZ', start_date='2018-06-15', end_date='2018-07-09')\n",
    "df_stock"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x98d0898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 将票房数据和股价数据画在一起看看\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from matplotlib.pylab import mpl\n",
    "# 指定默认字体\n",
    "mpl.rcParams['font.sans-serif'] = ['FangSong'] \n",
    "# 解决保存图像是负号'-'显示为方块的问题\n",
    "mpl.rcParams['axes.unicode_minus'] = False \n",
    "\n",
    "fig = plt.figure(figsize=(12,6))\n",
    "\n",
    "# 画柱状图\n",
    "ax1 = fig.add_subplot(1,1,1)\n",
    "ax1.plot(list(df_data['date']), list(df_data['BoxOffice2']), label='日票房')\n",
    "ax1.plot(list(df_data['date']), list(df_data['SumBoxOffice2']), label='总票房')\n",
    "ax1.plot(list(df_stock['time']), list(df_stock['last']), label='股价')\n",
    "ax1.legend(loc='upper left')\n",
    "ax1.set_xlabel('date')\n",
    "ax1.set_ylabel('BoxOffice')\n",
    "\n",
    "# 标识标题及坐标轴信息\n",
    "plt.title('我不是药神票房VS北京文化股价')\n",
    "\n",
    "# 显示画图结果\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第五步 我也来试试？\n",
    "\n",
    "只需安装opendatatools，你就可以成为数据分析专家。\n",
    "\n",
    "pip install opendatatools\n",
    "\n",
    "看着wiki，很快你也可以是数据分析专家了。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
